package com.fjnu.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface PerformanceMonitor {

    /**
     * 内部属性:
     *   警报时间 in ms
     *
     *
     *   annotation-based Aop Programming:
     *    1. 定义注解
     *    2. 定义切面 Aspect:
     *        2.1 pointcut定义： @annotation, @within on class level.
     *        2.2 advice定义： @Around
     *    3. 在需要的类或方法打上注解
     *    4. 测试。
     *
     *
      */
    long alarmedTime() default 1000;


}
